<method name="ShowApplications"/>
<method name="GrabAccelerator">
<arg type="s" direction="in" name="accelerator"/>
- <arg type="u" direction="in" name="flags"/>
+ <arg type="u" direction="in" name="modeFlags"/>
+ <arg type="u" direction="in" name="grabFlags"/>
<arg type="u" direction="out" name="action"/>
</method>
<method name="GrabAccelerators">
- <arg type="a(su)" direction="in" name="accelerators"/>
+ <arg type="a(suu)" direction="in" name="accelerators"/>
<arg type="au" direction="out" name="actions"/>
</method>
<method name="UngrabAccelerator">
}
GrabAcceleratorAsync(params, invocation) {
- let [accel, flags] = params;
+ let [accel, modeFlags, grabFlags] = params;
let sender = invocation.get_sender();
- let bindingAction = this._grabAcceleratorForSender(accel, flags, sender);
+ let bindingAction = this._grabAcceleratorForSender(accel, modeFlags, grabFlags, sender);
return invocation.return_value(GLib.Variant.new('(u)', [bindingAction]));
}
let sender = invocation.get_sender();
let bindingActions = [];
for (let i = 0; i < accels.length; i++) {
- let [accel, flags] = accels[i];
- bindingActions.push(this._grabAcceleratorForSender(accel, flags, sender));
+ let [accel, modeFlags, grabFlags] = accels[i];
+ bindingActions.push(this._grabAcceleratorForSender(accel, modeFlags, grabFlags, sender));
}
return invocation.return_value(GLib.Variant.new('(au)', [bindingActions]));
}
GLib.Variant.new('(ua{sv})', [action, params]));
}
- _grabAcceleratorForSender(accelerator, flags, sender) {
- let bindingAction = global.display.grab_accelerator(accelerator);
+ _grabAcceleratorForSender(accelerator, modeFlags, grabFlags, sender) {
+ let bindingAction = global.display.grab_accelerator(accelerator, grabFlags);
if (bindingAction == Meta.KeyBindingAction.NONE)
return Meta.KeyBindingAction.NONE;
let bindingName = Meta.external_binding_name_for_action(bindingAction);
- Main.wm.allowKeybinding(bindingName, flags);
+ Main.wm.allowKeybinding(bindingName, modeFlags);
this._grabbedAccelerators.set(bindingAction, sender);